The present invention relates to sending messages between multiple devices in separate domains, and particularly, to using a signaling gateway to address the processing, reformatting, and routing of signaling messages between network domains and to resolve incompatibility issues at various network protocol layers.
As mobile phone usage has increased, people have become more dependent on the ability to contact others using their mobile phone at any time, any place and anywhere. People use their mobile phones for business and pleasure and have adopted their use not just in a local city or town, but have become accustomed to using them while they are xe2x80x9croaming,xe2x80x9d i.e., outside of their local area. Telephone networks have become more adept at sending messages to other networks servicing these roaming mobile phones. National networks have been interlinked so that a person with a mobile phone can now travel all over the country and messages can be sent to the switch servicing the roaming mobile phone. These interlinked networks, however, are each contained within a domain. A domain is defined as a set of addressing and network element identifiers which is independent of other sets of identifiers or domains. An example is the set of ANSI SS7 addressing point codes. These point codes are addresses assigned to SS7 entities located within North America and are independent in format and identity from the addressing point codes used in other regions of the world having their own addressing domains.
A problem occurs when the mobile phone roams into a domain other than its home domain, because domains may use incompatible routing techniques, incompatible signaling protocols, or conflicting messaging parameters or identifiers. The software and equipment of different domains do not generally support direct point code addressing between domains. In addition to the point code addressing issues, there are many times various incompatibilities between device and network element identifiers in different domains, such as System Identification (SID) identifier.
SS7 networks have been in use internationally for signaling between wireline network entities. SS7 is a signaling protocol and is used for signaling functions such as establishing and disconnecting calls, and for enhanced telephony services, and with international gateways it has provided these functions for wireline carriers of different domains. Wireless international roaming is, however, new in some regions of the world and requires use of SS7 signaling for additional functions such as subscriber validation, fraud control, and call delivery to a roaming subscriber. Many wireless carriers utilizing AMPS, TDMA, and CDMA technologies use ANSI-41 messaging over SS7 networks for this purpose. SS7 networks used by wireless carriers in different domains need to get interconnected for exchange of ANSI-41 signaling messages between wireless switches. SS7 protocol however is in use in various variations. The version used in North America is based on the American National Standards Institute (ANSI) standard identified in this document as ANSI SS7. In most other countries, different but similar versions exist based on the International Telecommunication Union (ITU) standard and are known by ITU C7 or by similar names but some countries use ANSI formatted messages.
Signaling between networks of different countries introduces new challenges. With respect to SS7 networks a switch is identified by an address called a xe2x80x9cpoint code.xe2x80x9d Within the North American domain, the ANSI standard for SS7 is used and the allocation of point codes has been coordinated so that each switch is identifiable by a unique point code. Yet, there has not been a coordination of point code allocation internationally. Outside North America, where the ITU version of SS7 is used, each country has its own domain of addresses independent of other countries. A specific ITU point code therefore could be in use in multiple domains. If these domains get interconnected without any modification, the same point code would identify multiple switches causing confusion when routing messages. Gateways are needed to perform point code translation between domains.
In addition to the issue of possible duplication of numbers, there is an inherent incompatibility between the ANSI and the ITU networks. An ANSI message is in a different format than an ITU message. Therefore, even if possible duplication of point codes was not a problem, an ANSI network could not be addressed by an ITU point code and vice versa.
The addressing problem has become even more complicated by arbitrary use of the point codes assigned to the North American domain (ANSI point codes) outside North America. Since in the past there has not been any wireless connectivity between countries, in some regions (e.g., in Far Eastern countries), SS7 ANSI point codes have been used for the ANSI-41 networks. This does not pose a problem as long as the North American networks are not connected to other domains. When connected, however, duplication of a North American point code in another country would create routing problems, because more than one switch could have the same point code assigned to it.
A different problem associated with the international connectivity of wireless switches is the limited number of point codes available to carriers. Although presently this may not be an issue, there is a potential for a lack of available point codes in the future. A wireless switch can be identified by more than one point code so that it could be accessed by multiple SS7 networks each having their own addressing domain of point codes. This makes the SS7 network of one domain accessible by another domain. This method, however, would drain the point code resources intended for a specific domain.
Standard organizations (e.g., ITU) have taken steps to solve the aforementioned issues by introducing various standards. The standards have not, however, been completely addressed, and also various countries have not implemented standards. To resolve the international signaling issues, equipment in all countries involved needs to be upgraded with the appropriate software. Partial upgrade of the SS7 nodes will not be of any benefit.
ITU Q.705 has defined international and national domains. The national domains use their own domestic signaling point codes and the international domains use an international signaling point code (ISPC). ITU Q.708 has defined the format of the ISPC, which includes zone and network identifiers. International gateways will translate the national point codes to the international point code and vice versa. The signaling messages are transported domestically to an international gateway using the initiating network local point code. The international signaling gateway in the originating country will translate the domestic point code to the ISPC and using the ISPC, route the messages to the international gateway in the destination country. The destination country international gateway translates the ISPC to the domestic point code of the destination country""s domain and delivers the message to a SS7 node in the destination domestic domain. Translation of the domestic point codes to the ISPC and vice versa however requires a capability called Global Title Translation (GTT).
To use the GTT functions, certain standard details need to be defined or modifications to the existing standards need to be made. These include defining national Translator Type (TT) parameters and enhancements to the IS-41 messaging standard. These standards efforts are not fully resolved and what is resolved has not been implemented by the network providers. IS-41 Revisions A, B, and C, do not define the GTT capability for all messaging needed for international signaling. IS-807 standard has defined this capability but requires the roaming partners to implement the standard. Simultaneous upgrade of the equipment software of all parties involved is required for these standards to be beneficial. Therefore, the conflict between various point code domains is still an unresolved issue for international signaling and in particular for wireless device international roaming. This invention provides interoperability between wireless switches that are IS807 complaint and those which are not. It also provides interoperability between different versions of SS7 that are not compatible, such as ANSI SS7 and ITU C7 or incompatible implementations of ITU C7.
Another challenge of international connectivity of wireless switches is maintaining point codes of the switches where each roaming mobile phone is visiting. Tables are maintained at the roaming mobile phone""s visiting and home switches. The visiting switch table includes the point codes of the home switches of roaming subscribers. When a roamer enters a visiting market, the visiting switch sends appropriate messages to the home switch of that particular subscriber to register and validate the subscriber.
Within a domain, the number of wireless switches that a carrier has a roaming agreement with is limited. With connectivity to many domains for international roaming, however, the size of the table in switches becomes very large. This will cause two problems. First, the size of the switch data base becomes prohibitive. Presently, even in domestic roaming, there are cases where, due to insufficient switch capacity, information once entered in a switch database for roaming subscribers gets deleted by the switch operators when they see that roaming has not taken place for a while. Roaming mobile phone subscribers will be denied service when this happens.
Second, the table maintenance task at the switch becomes time-consuming. If the point code for a certain switch is changed or eliminated due to the fact that the switch is not going to be in service any more, or when a new switch is added, all switches of the roaming partners should reflect this change in their associated databases. This becomes a difficult and expensive task as the international connectivity to various domains increases.
In addition to the point code conflict issues, there are a number of different network element and device identifiers that could exist in duplication or with incompatible formats in various domains. An example of this is the SID. In the absence of an international coordinating entity, SIDs originally were assigned to different countries by a US based entity. These assignments, however, have not been followed by all countries and the SIDs assigned to one domain have been at times used in another domain.
Therefore, what is needed in the art is a system and method for coordinating all the point codes between multiple domains that does not increase switch overhead or demand a significant increase of maintenance in the switch. Having a centralized data base of addresses would eliminate the need for maintaining this information at multiple locations within separate domains.
Methods, systems and articles of manufacture consistent with the present invention overcome the shortcomings of existing systems for sending signaling messages between domains using an interface between domains to store point codes of various switches in the domains to modify message formats so that they are compatible within each domain, and to provide interoperability between incompatible network parameters such as switch ID and device numbering plans.
In accordance with one aspect of the present invention, as embodied and broadly described herein, a method in a data processing system comprises the steps of storing an address of a first device and associated routing information, receiving a message from a second device in a first format, identifying routing information contained in the message, retrieving the address of the first device associated with the routing information, and sending the message to the address of the first device. The first device may be in a home domain and the second device may be in a serve domain. However, the first device may be in a serve domain and the second device may be in a home domain. In addition, the message in a first format may be incompatible with the first device and then the step of sending the message to the address comprises the steps of reformatting the message in a second format compatible with the first device and sending the reformatted message to the address of the first device.
In accordance with one aspect of the present invention, as embodied and broadly described herein, a method in a data processing system comprises the steps of associating a Mobile Identification Number (MIN) with an address of a first switch in a first domain, receiving a message from a second switch, wherein the message is in a first format, identifying the MIN contained within the message, retrieving the address of the first switch using the MIN contained in the message, and sending the message to the first switch having the address. In addition, the step of sending the message to the first switch may comprise reformatting the message in a second format and sending the reformatted message to the first switch having the retrieved address. Reformatting might include replacing network element identifiers such as SID to eliminate identifier conflicts between domains, and resolving other conflict and interoperability issues between various domains.
In accordance with one aspect of the present invention, as embodied and broadly described herein, a gateway for transmitting messages between a first device and a second device comprises a database containing a Mobile Identification Number (MIN) and an associated point code, databases containing network element identifiers and their associated domains, a protocol processing unit capable of associating the address assigned to the gateway in the domain of the first device with the address assigned to the gateway in the domain of the second device, and a processor operative to perform the following steps of receiving the message in one format from the first device, identifying the MIN contained in the message, retrieving the point code associated with the MIN in the database, reformatting the message to resolve conflict and interoperability issues, and sending the reformatted message to the second device having the associated point code. The first device and the second device may be associated with separate domains.